History v1.0.0: 3 October 1994: Initial release. Cool. v1.0.1: 15 October 1994: Started to address the problems OTPS had with DAs. Their icons now display when opt-tabbing, but you still can’t opt-tab out of a DA. I’m working on this, but I don’t have much time to address it right now. v1.5.0: 5 January 1995: Improved the code so that it now works with DAs properly! I also produced a Power PC version. v1.5.1: 7 January 1995: Fixed a problem that caused periodic crashes when one of the serial ports was in use (for you programmers, I was allocating memory at interrupt time—BAD). v1.5.2: 17 January 1995: Fixed another memory problem. Plus made the key sequence customizable and changed the name from “Option Tab Program Switcher” to “Program Switcher” to reflect this. v2.0.0: 1 February 1995: Turned Program Switcher into a CDEV and added an application hiding option. Added “remember last application” to code. Optimized code and added a preference file. v2.0.1: 7 February 1995: Fixed a nasty bug that prevented a lot of people from being able to soft shutdown their computer. I sincerely apologize for turning the public at large into a group of beta-testers. Also fixed a code logic error which sometimes allowed the current front process to be displayed first when initiating the switching mechanism. One bug still exists, though, which is the fault of my compiler (CodeWarrior). Basically, a 65K memory block gets allocated in the system heap each time you open the control panel. This block never gets disposed of, therefore, do not open the control panel too often. I have reported this problem to MetroWerks and as soon as a fix is released, I will recompile and release an improved version. v2.0.2: 10 February 1995: Well, the “extra memory block” problem was not a “bug” in the true sense of the word. MW pointed out to me how to dispose of it and this version now gets rid of all memory blocks it does not need. v2.1.0: 27 February 1995: Tweaked the switching code a little. The current application will not be displayed until all the other applications have been cycled through at least once. Also added the option to set the display window font. Lessened the memory requirements of the control panel and fixed a problem with the inability to shutdown. v2.1.1: 1 March 1995: I was promoted to First Lieutenant today. Also I tweaked the switching code a little more so it wouldn’t show the same application twice in a row (as was the case with only two running applications). v2.1.2: 31 August 1995: Updated my e-mail address. No changes to the control panel otherwise. v2.1.3: 2 September 1995: Oops! There was one internal change to v2.1.2 that I screwed up—Program Switcher would not load. All is well now. v2.1.4: 3 September 1995: Well, mark this down in the lessons learned book. All I was trying to do was update the e-mail address in v2.1.1 and recompile with a newer version of CodeWarrior. Versions 2.1.2 and 2.1.3 were abortive attempts since, assuming my task at hand was trivial, I did not ensure that the versions were fully functional before releasing them. Well, I put some time into this one and have verified that it works at least as well as v2.1.1. It also has the updated e-mail address. v2.1.5: 13 September 1995: Added the Kagi Shareware Register program to the archive to allow credit card registrations. v3.0.0: 5 October 1995: Added a multitude of features, including the ability to exclude certain applications, a “reversing” key, more options for the display window, and a “fat” init. This version is also a complete rewrite of the code for Program Switcher. Its “hackish” roots are gone, and it is now a fully polished product. v3.0.1: 6 October 1995: Added an option in the Set Applications… dialog to allow the adding of any running process to the applications to be excluded list. This is useful for adding the Finder and INIT-based processes, such as QuickKeys, or even applications you are just to lazy to find on disk. Also fixed a memory leak and a bug which caused problems with applications that made improper assumptions about what the current front window is. v3.0.2: 21 October 1995: Fixed a minor bug in the Set Display Window Attributes… dialog in which the font size menu wasn’t updating properly. Also added the backslash key in the switching key menu for all you lefties out there. v3.1.0: 5 November 1995: Added three new features: 1) the ability to turn off the display of the applications’ icons—perfect for PowerBook users; 2) a way to cancel out of a switch; 3) a hack that finally defeats Microsoft Excel’s greed for the keyboard, that is, Program Switcher now works with Microsoft Excel. v3.2.0: 30 November 1995: Added Balloon Help and an application icon cache. v3.2.1: 1 December 1995: Fixed a cosmetic bug that prevented people from seeing the icon cache size. v3.3.0: 14 January 1996: Added several features: “Hide Always,” the hide others toggle with the space bar, and the quit application keystroke. v3.4.0: 27 March 1996: Added the feature which takes you directly to an application that has a notification pending. v4.0.0: 23 July 1996: New version with a few new features and bug fixes: • Added two new types of switching methods, both based on the switching method of the newest version of that other operating system. • Fixed a bug with the Q-key quit feature not working as expected on some non-US keyboard layouts. • Made the drawing to the switching window as flicker-free as possible. • Fixed a bug which caused garbage to be displayed in the switching window if the “Exclude Applications” option caused no usable applications to be displayed. • Improved the look of some dialogs. • Added “Document Window” to the types of windows that may be used for the switching display window. v4.0.1: 10 August 1996: Fixed a few bugs: • Enabled Program Switcher to properly detect the Q-key on French keyboards. • Removed a bug which sometimes caused the application name in the switching window to be displayed only in the system font. • Removed a registration bug. v4.1.0: 29 September 1996: Added some new features: • Included two new switching window options: large and small icons in a vertical list. • Added an option to use the system highlight color to highlight the currently selected application in the switching window. • Added an auto-key feature which allows you to hold down the switching key to have Program Switcher automatically advance you through the program list. • Enabled the arrow keys to help you navigate through the program list. • Added a “Try Out” option to preview the changes made to the switching window’s appearance. • Fixed a bug that caused Program Switcher to crash at startup under 24-bit memory addressing on a 680x0 Mac. This bug was actually due to bad code produced by the CW 9 compiler (in other words, it wasn’t my bug). CW 10 fixed this problem. v4.2.0: 23 November 1996: Added a host of new features: • Added Power Keys. • Added an option to make the switching window pop up underneath the current location of the mouse. • Made the switching window automatically expand when an application’s name is too wide to fit in it. • Optimized the code a little to improve speed. v4.2.1: 17 January 1997: Fixed a few minor bugs: • The option to pop up the display window under the mouse now works better with multiple montiors. • Fixed a menu ID conflict with Frontier. v4.2.1: 1 March 1997: I was promoted to Captain today. v4.3.0: 27 April 1997: Added new features: • New "Memory Usage List" theme. • New keystroke to hide specific application in the switching window. • Support for Kaleidoscope v1.5 color schemes. v4.3.1: 17 May 1997: Added new features: • Added the 'w' key for application hiding to make it easier to reach. 'h' key still works. • Due to popular demand, added a smal version of the Memory Usage List theme. v4.3.2: 1 July 1997: Updated web page address, fixed a bug with the preferences file, and added option to prevent Finder from being quit with Program Switcher. v4.4.0: 18 September 1997: Added new features: • Hiding other applications with Program Switcher (via one of it's many features) will now honor the excluded application list. Applications on this list will not be hidden • Support for MacOS 8's new Contextual Menu Manager • A public API that programmers can now use to access Program Switcher's features and information v4.4.1: 20 October 1997: Doh! How could I have called v4.4.0 MacOS 8 savvy if I didn't add support for the Appearance Manager? The "Use Kaleidoscope Theme" option has now been changed to "Use System Theme." When this option is selected, Program Switcher will draw the switching window according to what everr appearance manager you ahve installed (MacOS 8's Appearance Manager or Kaleidoscope). Also added one command to ASM: Quit All but Finder and Current Application. It does exactly what it's name describes. v4.4.2: 21 October 1997: "I will always do regresion testing. I will always do regression testing. I will always do regression testing. I will always do regression testing. I will always do regression testing..." When I added the new MacOS 8 features of v4.4.1, I forgot to ensure that if MacOS 8 wasn't installed, Program Switcher wouldn't use them. So, to all those of you 2000+ people who downloaded the new version from my web site in the one day v4.4.1 was out (Darn! I didn't even announce it's release), if your machine crashed when booting, it was because you were using a system version earlier than MacOS 8. My apologies.